<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 规则基本上与读取的规则一致 也是就近原则 但是区别在于 如果到window都没找到 最终在window上创建 并且赋值
        let nickname = '张三';
        function fn(){
            function fn2(){
                nickname = '李四'
                sex = '男';
            }
            fn2();
        }
        fn();
        console.log(nickname)
        console.log(sex)


        // 块级作用域 只要在{}中间所创建的变量就是块级作用域变量
        // 块级作用域 没有改变作用域规则
        {
            let m = 30;
            console.log(m);
            {

            }
        }
        console.log(m)
        
    </script>
</body>
</html>